home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / PWAPCP02.ZIP / TURBO110 / TURBO110.ZIP / TURBO.PPE (.txt) < prev   
PCBoard Programming Language Executable  |  1995-05-15  |  3KB  |  267 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.1O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Integer  INTEGER001
  23.     String   STRING001
  24.     String   STRING002
  25.     String   STRING003
  26.     String   STRING004
  27.     String   STRING005
  28.     String   STRING006
  29.     String   STRING007
  30.     String   STRING008
  31.     String   STRING009
  32.     String   STRING011
  33.     Int      INT001
  34.     Int      INT002
  35.     Int      INT003
  36.     Int      INT004
  37.     Declare  Function FUNCTION001(String STRING010) Boolean
  38.     Declare  Function FUNCTION003() String
  39.     Declare  Procedure PROC001()
  40.     Declare  Procedure PROC004(Int INT005, Int INT006, Int INT007)
  41.  
  42. ;------------------------------------------------------------------------------
  43.  
  44.     STRING001 = ReadLine(PCBDat(), 94)
  45.     INTEGER001 = Len(STRING001) / 12
  46.     STRING002 = String(Asc(Mid(STRING001, INTEGER001, 3))) + String(Asc(Right(STRING001, 3))) + String(Asc(Mid(STRING001, 8, 9)))
  47.     FOpen 1, PPEPath() + "KEY.CFG", 0, 0
  48.     FGet 1, STRING003
  49.     FClose 1
  50.     If (STRING002 <> STRING003) Goto LABEL001
  51.     If (STRING002 == STRING003) Goto LABEL002
  52.     :LABEL001
  53.     PrintLn "@X8EUNREGISTERED EVALUATION COPY@X0F - Encourage your SysOp to register this program"
  54.     PrintLn "@X07Copyright (C)1995 Equinox Software - @X0C(@X0B312@X0C)@X0B254-3413"
  55.     Delay 15 * 10
  56.     :LABEL002
  57.     PROC001()
  58.     BOOLEAN001 = FUNCTION001(ReadLine(STRING004, 8))
  59.     If (BOOLEAN001 == 0) Then
  60.         Goto LABEL004
  61.         End
  62.         STRING009 = FUNCTION003()
  63.         Goto LABEL003
  64.     Endif
  65.     :LABEL003
  66.     End
  67.  
  68. ;------------------------------------------------------------------------------
  69.  
  70.     Function FUNCTION003() String
  71.  
  72.     String   STRING010
  73.  
  74.     Newline
  75.     PrintLn ReadLine(STRING004, 13)
  76.     If (Exist("")) Then
  77.         Delete ""
  78.     Endif
  79.     KbdStuff Chr(13)
  80.     End
  81.  
  82.     EndFunc
  83.  
  84.  
  85. ;------------------------------------------------------------------------------
  86.  
  87.     Function FUNCTION001(String STRING010) Boolean
  88.  
  89.     String   STRING011
  90.     Int      INT002
  91.     Int      INT003
  92.     Int      INT004
  93.     Boolean  BOOLEAN003
  94.     Int      INT005
  95.  
  96.     Print STRING010
  97.     INT002 = GetX()
  98.     Print STRING005 + Space(INT001)
  99.     INT003 = GetX()
  100.     Print STRING007
  101.     INT004 = 1
  102.     PROC004(INT004, INT002, INT003)
  103.     BOOLEAN003 = 0
  104.     While (BOOLEAN003 == 0) Do
  105.         STRING011 = Asc(Inkey())
  106.         If (STRING011 == 13) Then
  107.             BOOLEAN003 = 1
  108.             Continue
  109.         Endif
  110.         If (((STRING011 == 76) || (STRING011 == 68)) || (STRING011 == 44)) Then
  111.             Dec INT004
  112.             If (INT004 < 1) INT004 = 2
  113.             PROC004(INT004, INT002, INT003)
  114.             Continue
  115.         Endif
  116.         If (((STRING011 == 82) || (STRING011 == 85)) || (STRING011 == 46)) Then
  117.             Inc INT004
  118.             If (INT004 > 2) INT004 = 1
  119.             PROC004(INT004, INT002, INT003)
  120.             Continue
  121.         Endif
  122.         If ((STRING011 == 89) || (STRING011 == 121)) Then
  123.             INT004 = 2
  124.             PROC004(INT004, INT002, INT003)
  125.             BOOLEAN003 = 1
  126.             Continue
  127.         Endif
  128.         If ((STRING011 == 78) || (STRING011 == 110)) Then
  129.             INT004 = 1
  130.             PROC004(INT004, INT002, INT003)
  131.             BOOLEAN003 = 1
  132.         Endif
  133.     EndWhile
  134.     Newline
  135.     If (INT004 == 1) Then
  136.         FUNCTION001 = 0
  137.     Else
  138.         FUNCTION001 = 1
  139.         DispFile PPEPath() + "FAST", CurSec()
  140.     Endif
  141.  
  142.     EndFunc
  143.  
  144.  
  145. ;------------------------------------------------------------------------------
  146.  
  147.     Procedure PROC004(Int INT005, Int INT006, Int INT007)
  148.  
  149.     Select Case (INT005)
  150.         Case 2
  151.             Print Chr(13)
  152.             Forward INT006 - 1
  153.             Print STRING005
  154.             Print Chr(13)
  155.             Forward INT007 - 1
  156.             Print STRING008
  157.         Case 1
  158.             Print Chr(13)
  159.             Forward INT007 - 1
  160.             Print STRING007
  161.             Print Chr(13)
  162.             Forward INT006 - 1
  163.             Print STRING006
  164.     End Select
  165.  
  166.     EndProc
  167.  
  168.  
  169. ;------------------------------------------------------------------------------
  170.  
  171.     Procedure PROC001()
  172.  
  173.     GetUser
  174.     STRING004 = PPEPath() + "TURBO.CFG"
  175.     INT001 = S2I(ReadLine(STRING004, 3), 10)
  176.     STRING005 = ReadLine(STRING004, 4)
  177.     STRING006 = ReadLine(STRING004, 5)
  178.     STRING007 = ReadLine(STRING004, 6)
  179.     STRING008 = ReadLine(STRING004, 7)
  180.  
  181.     EndProc
  182.  
  183.     :LABEL004
  184.     Newline
  185.     DispFile PPEPath() + "SLOW", CurSec()
  186.     End
  187.  
  188. ;------------------------------------------------------------------------------
  189. ;
  190. ; Usage report (before postprocessing)
  191. ;
  192. ; ■ Statements used :
  193. ;
  194. ;    4       End
  195. ;    23      Goto 
  196. ;    25      Let 
  197. ;    11      Print 
  198. ;    3       PrintLn 
  199. ;    15      If 
  200. ;    2       DispFile 
  201. ;    1       FOpen 
  202. ;    1       FClose 
  203. ;    1       FGet 
  204. ;    1       GetUser
  205. ;    1       Delete 
  206. ;    1       Delay 
  207. ;    1       Inc 
  208. ;    1       Dec 
  209. ;    3       Newline
  210. ;    1       KbdStuff 
  211. ;    4       Forward 
  212. ;    2       EndProc
  213. ;    2       EndFunc
  214. ;
  215. ;
  216. ; ■ Functions used :
  217. ;
  218. ;    1       *
  219. ;    1       /
  220. ;    7       +
  221. ;    4       -
  222. ;    17      ==
  223. ;    1       <>
  224. ;    1       <
  225. ;    1       >
  226. ;    11      !
  227. ;    6       ||
  228. ;    1       Len(
  229. ;    2       Mid()
  230. ;    1       Right()
  231. ;    1       Space()
  232. ;    5       Chr()
  233. ;    4       Asc()
  234. ;    1       Inkey()
  235. ;    3       String()
  236. ;    1       PCBDat()
  237. ;    4       PPEPath()
  238. ;    8       ReadLine()
  239. ;    2       CurSec()
  240. ;    1       Exist()
  241. ;    1       S2I()
  242. ;    2       GetX()
  243. ;
  244. ;------------------------------------------------------------------------------
  245. ;
  246. ; Analysis flags : d
  247. ;
  248. ; d - Access PCBOARD.DAT ■ 2
  249. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  250. ;     for many PPE so they can find various informations on the system
  251. ;     (system paths, max number of lines in messages, ...) but it may also
  252. ;     be a way to gather vital informations.
  253. ;     ■ Search for : PCBDAT()
  254. ;
  255. ;------------------------------------------------------------------------------
  256. ;
  257. ; Postprocessing report
  258. ;
  259. ;    0       For/Next
  260. ;    1       While/EndWhile
  261. ;    8       If/Then or If/Then/Else
  262. ;    1       Select Case
  263. ;
  264. ;------------------------------------------------------------------------------
  265. ;                 AEGiS Corp - Break the routines, code against the machines!
  266. ;------------------------------------------------------------------------------
  267.